package com.vcyber.wty.model;

import java.io.Serializable;

import lombok.Data;

@Data
public class InvoiceItem implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 货物名称
     */
    private String goodsName;
    /**
     * 對應稅收分類編碼
     */
    private String specificationModel ;
    /**
     * 单位
     */
    private String meteringUnit ;
    /**
     * 数量
     */
    private String quantity ;
    /**
     * 含税标示 String(1) 否 0： 不含税， 1： 含税， 默认为0 不含税
     */
    private String includeTaxFlag;
    /**
     * 单价 16 位(精确到 8位小数)是 票面信息， 支持到小数点前 8位,默认为不含税， 可通过含税标示 includeTaxFlag， 定义此字段为含税
     */
    private String unitPrice;
    /**
     * 金额 10 位(精确到 2位小数)是 票面信息， 支持到小数点前 8位,默认为不含税， 可通过含税标示 includeTaxFlag， 定义此字段为含税
     */
    private String invoiceAmount;
    /**
     * 税率 4 位(精确到 2 位小数)是 票面信息， 例： 0.17
     */
    private String taxRateValue;
    /**
     * 税额 10 位(精确到 2位小数)否 票面信息， 如果不填写， 默认会根据税率计算税额， 如果填写此值会直接使用此税额,可通过含税标示includeTaxFlag， 定义此字段为含税
     */
    private String taxRateAmount;
    /**
     * 折扣金额 10 位(精确到 2位小数)否 有折扣时， 分以下两种情况：1、 填写： 票通平台会根据折扣率值进行校验（invoiceAmount*（1-discountRateValue） ）2、 不填写： 票通平台会根据折扣率值进行计算（invoiceAmount*（1-discountRateValue） ）,默认为不含税， 可通过含税标示 includeTaxFlag， 定义此字段为含税
     */
    private String discountAmount;
    /**
     * 折扣税额 10 位(精确到位 2小数) 否
     */
    private String discountTaxRateAmount;
    /**
     * 差 额 开 票 抵 扣金额10 位(精确到 2位小数)否 差额开票抵扣金额， 此值不填写时为非差额开票， 填写时为差额开票，
     */
    private String deductionAmount;
    /**
     *优惠政策标识 String(1-50) 否 空： 不使用， 1:使用
     */
    private String preferentialPolicyFlag ;
    /**
     *增 值 税 特 殊 管理String(0-100) 否 preferentialPolicyFlag 优惠政策标识位 1 时必填
     */
    private String vatSpecialManage;
    /**
     * 零税率标识 String(1) 否 空： 非零税率， 0： 出口零税，1： 免税， 2： 不征税， 3 普通零税率
     */
    private String zeroTaxFlag ;
}
